import { message } from 'antd';
import axios from 'axios';

console.log('BASE_URL:', process.env.BASE_URL);

const instance = axios.create({
  timeout: 100000,
  baseURL: process.env.BASE_URL, // 使用环境变量设置基础URL
});

// 处理请求前的逻辑
instance.interceptors.request.use(
  (config) => {
    return config;
  },
  (error) => {
    return Promise.reject(error);
  },
);

// 响应后逻辑处理
instance.interceptors.response.use(
  (response) => {
    const res = response?.data;
    // 判断是否是查询任务的接口
    const isTaskQuery = response.config.url?.includes('/image-generation/result');

    // 如果是查询任务接口，直接返回响应数据
    if (isTaskQuery) {
      return res;
    }

    // 其他接口进行统一处理
    if (res?.code !== 0) {
      message.error(res?.message || '请求失败');
      return Promise.reject(new Error(res?.message || '请求失败'));
    }
    return res;
  },
  (error) => {
    const errorMessage = error.response?.data?.message || error.message || '网络请求失败';
    message.error(errorMessage);
    return Promise.reject(new Error(errorMessage));
  },
);

export default instance;
